/**
 * Copyright (c) 2024-2025 Huawei Technologies Co., Ltd.
 * This file is a part of the CANN Open Software.
 * Licensed under CANN Open Software License Agreement Version 1.0 (the "License").
 * Please refer to the License for details. You may not use this file except in compliance with the License.
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
 * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
 * See LICENSE in the root of the software repository for the full text of the License.
 */

/*!
 * \file flash_attention_score_template_tiling_key.h
 * \brief
 */

#pragma once
#include "ascendc/host_api/tiling/template_argument.h"
// #include "incre_flash_attention_tiling.h"

#if (__CCE_AICORE__ == 310) || (defined __DAV_310R6__)

#else

#define ASCENDC_TPL_3_BW 3
ASCENDC_TPL_ARGS_DECL(IncreFlashAttention,
    // half, bf16
    ASCENDC_TPL_UINT_DECL(Q_T, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 2, 3),
    // half, bf16, int8_t, int4b_t
    ASCENDC_TPL_UINT_DECL(KV_T, ASCENDC_TPL_3_BW, ASCENDC_TPL_UI_LIST, 0, 2, 3, 4),
    // half, bf16, int8_t
    ASCENDC_TPL_UINT_DECL(OUT_T, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 2, 3),
    // half, bf16
    ASCENDC_TPL_UINT_DECL(ORIGIN_T, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 2, 3),
    ASCENDC_TPL_UINT_DECL(PAGE_ATTENTIOND, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 1),
    ASCENDC_TPL_UINT_DECL(FLASH_DECODE, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 1),
    // BSH, BNSD, TND
    ASCENDC_TPL_UINT_DECL(LAYOUT_T, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 1, 2),
    // normal, amla
    ASCENDC_TPL_UINT_DECL(AntiquantMode, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 1, 2),
    // BSH, BSND, NZ, TND
    ASCENDC_TPL_UINT_DECL(KV_LAYOUT_T, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 1, 2),
    // normal, amla
    ASCENDC_TPL_UINT_DECL(AMLA, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 1),
    ASCENDC_TPL_UINT_DECL(Balance, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 0, 1),
    ASCENDC_TPL_UINT_DECL(ModeVal, ASCENDC_TPL_2_BW, ASCENDC_TPL_UI_LIST, 1, 2, 3),
    ASCENDC_TPL_UINT_DECL(PerfMode, ASCENDC_TPL_3_BW, ASCENDC_TPL_UI_LIST, 0, 1, 2, 3, 4 ,5, 6)
    ///0 1 2 3
);

ASCENDC_TPL_SEL(
    // IncreFlashAttentionAttenAllVecNew
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
#if (__CCE_AICORE__ > 200)
// IncreFlashAttentionAttenPreload
    // Q_T: half KV_T: half OUT_T: half
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: half KV_T: int_8 OUT_T: half
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: half KV_T: int_4 OUT_T: half
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: half KV_T: half OUT_T: int_8
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: half KV_T: int_8 OUT_T: int_8
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: bf16 KV_T: bf16 OUT_T: bf16
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: bf16 KV_T: int_8 OUT_T: bf16
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: bf16 KV_T: int_4 OUT_T: bf16
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: bf16 KV_T: bf16 OUT_T: int_8
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: bf16 KV_T: int_8 OUT_T: int_8
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
#else
    // IncreFlashAttentionMulAttenCube310P
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
#endif
// IncreFlashAttentionAttenSplitBbn2s2Us2
    // Q_T: half KV_T: half OUT_T: half
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: half KV_T: int_8 OUT_T: half
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: half KV_T: int_4 OUT_T: half
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: half KV_T: half OUT_T: int_8
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: half KV_T: int_8 OUT_T: int_8
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //13*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),                   
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: bf16 KV_T: bf16 OUT_T: bf16
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: bf16 KV_T: int_8 OUT_T: bf16
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3), // chenyz fixed dup
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
   // Q_T: bf16 KV_T: int_4 OUT_T: bf16
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 4),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1, 2),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: bf16 KV_T: bf16 OUT_T: int_8
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // Q_T: bf16 KV_T: int_8 OUT_T: int_8
    //10*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //12*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3), /// chenyz fixed dup
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    //2*
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3), // chenyz fixed dup
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
// IncreFlashAttentionAttenPreloadDD
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 6),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataV2)
    ),
    // IncreFlashAttentionAttenPreloadMla
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 5),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataMla)
    ),
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1, 2),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 5),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingDataMla)
    ),
//     // PagedAttentionDecoderMask
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 0, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingAtbDataV2)
    ),
// PagedAttentionDecoderquant
    // Q_T: half KV_T: int_8 OUT_T: half
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingAtbDataV2)
    ),
    // Q_T: bf16 KV_T: int_8 OUT_T: bf16
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_2),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingAtbDataV2)
    ),
    //ommit
    ASCENDC_TPL_ARGS_SEL(
        ASCENDC_TPL_KERNEL_TYPE_SEL(ASCENDC_TPL_MIX_AIC_1_1),
        ASCENDC_TPL_UINT_SEL(Q_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_T, ASCENDC_TPL_UI_LIST, 3),
        ASCENDC_TPL_UINT_SEL(OUT_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ORIGIN_T, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(PAGE_ATTENTIOND, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(FLASH_DECODE, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(AntiquantMode, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(KV_LAYOUT_T, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(Balance, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(AMLA, ASCENDC_TPL_UI_LIST, 0),
        ASCENDC_TPL_UINT_SEL(ModeVal, ASCENDC_TPL_UI_LIST, 1),
        ASCENDC_TPL_UINT_SEL(PerfMode, ASCENDC_TPL_UI_LIST, 2),
        ASCENDC_TPL_TILING_STRUCT_SEL(IncreFlashAttentionTilingAtbDataV2)
    )
);

#endif